A sneak circuit is an unexpected path or logic flow within a system which, under certain conditions, can initiate an undesired function or inhibit a desired function. The path may consist of hardware, software, operator actions, or combinations of these elements. Sneak circuits are not the result of hardware failure but are latent conditions inadvertently designed into the system, coded into the software program, or triggered by human error. Also excluded as causative factors are electrostatic, electromagnetic, or leakage paths as well as marginal parametric factors.
Adverse current conditions that can give rise to sneak circuits are mostly a result of external asynchronous inputs uncontrollable and often unforeseeable by the circuit designer. For example, the end-user may unexpectedly operate two switches simultaneously or out of sequence, an adverse current condition which the circuit designer may have never envisioned during the design phase. Another example might be the unexpected loss of one of several power sources in a circuit, possibly giving rise to unintended adverse current paths.
A known prior art method for performing sneak circuit analysis is the Sneak Circuit Analysis Tool (SCAT) developed by SoHar Inc. A user must identify input power sources and power sinks from a list of all ports in the design as well as define current flow directions for each port of each component. For example, a resistor has port A and B, and the current can flow from the port A to the port B and vice versa. A diode also has two ports, but current can only flow from the anode to the cathode. Before searching for bidirectional branches, a switch can be set to either a break-before-make or a make-before-break type, and a capacitor can be set to either open circuit or short circuit. SCAT then attempts to trace all possible paths from a source node to one or more sink nodes as previously defined. From among these paths, SCAT then determines the ones that allow current to flow bi-directionally through one or more of the components located along the path and highlights them accordingly for review by the user. Thus, SCAT requires manual input of current directions for each component by the user prior to performing sneak current analysis. Furthermore, SCAT fails to provide information regarding the amount of current that flows through the bi-directional path, i.e., SCAT performs qualitative sneak analyses only.